/**
 * @description  检查项接口.
 *
 * @typedef  {CheckItem}
 *
 * @interface  CheckItem
 */
interface CheckItem {
  /**
   * @description  商品类型.
   *
   * @type  {number}
   */
  skuType: number
  /**
   * @description  是否新人.
   *
   * @type  {number}
   */
  isNewPerson: number
}

// 判断是否是秒杀商品
/**
 * @description  判断是否是秒杀商品.
 *
 * @param    {CheckItem}  item
 *
 * @returns  {boolean}
 */
export const checkShowLeft = (item: CheckItem) => {
  return item.skuType == 0
}

// 判断是否显示右上角标签
/**
 * @description  判断是否显示右上角标签.
 *
 * @param    {CheckItem}  item
 *
 * @returns  {boolean}
 */
export const checkShowRight = (item: CheckItem) => {
  // 暂无类别
  return false
}

// 判断是否显示新人专享
/**
 * @description  判断是否显示新人专享.
 *
 * @param    {CheckItem}  item
 *
 * @returns  {boolean}
 */
export const checkShowBottom = (item: CheckItem) => {
  return item.skuType === 0 && item.isNewPerson === 1
}

// 判断是否显示商品提示标签
/**
 * @description  判断是否显示商品提示标签.
 *
 * @param    {CheckItem}  item
 * @param    {string}     position
 *
 * @returns  {boolean}
 */
export const productTipChecker = (item: CheckItem, position: string): boolean => {
  if (position === 'left') {
    return checkShowLeft(item)
  } else if (position === 'right') {
    return checkShowRight(item)
  } else if (position === 'bottom') {
    return checkShowBottom(item)
  }
  return false
}

// 将对象转成url的query查询参数，不能使用URLSearchParams的方式
/**
 * @description  将对象转成url的query查询参数，不能使用URLSearchParams的方式.
 *
 * @param    {any}  obj
 *
 * @returns  {any}
 */
export const objToQuery = (obj: any) => {
  console.log('将对象转变为query查询参数===', obj);
  // console.log('转换后的数据======', Object.keys(obj)
  // .map((k) => {
  //   return encodeURIComponent(k) + '=' + encodeURIComponent(obj[k])
  // })
  // .join('&'));
  return Object.keys(obj)
    .map((k) => {
      return encodeURIComponent(k) + '=' + encodeURIComponent(obj[k])
    })
    .join('&')
}

/**
 * @description  跳转至详情.
 *
 * @param  {number}  skuId
 */
export const gotoHomeItem = (skuId: number) => {
  uni.navigateTo({
    url: `/pages/homeItem/homeItem?skuId=${skuId}`,
  })
}
